/*
 * Copyright (c) 2018.
 * http://www.ulabcare.com
 */

package com.mt.roll.upms.service;

import com.mt.roll.core.dto.LoginUser;
import com.mt.roll.core.dto.Permission;
import com.mt.roll.core.vo.LoginUserVo;
import com.mt.roll.core.vo.R;

import java.io.Serializable;
import java.util.List;

/**
 * 通用权限服务接口
 *
 * @author jiff
 * @date 2018-11-27
 * @since 1.0
 */
public interface UpmsService {
    /**
     * 用户登录
     *
     * @param mobile   手机号码
     * @param password 密码
     * @return 登录用户
     */
    R<LoginUser> login(String mobile, String password);

    /**
     * 退出登录
     *
     * @return 处理结果
     */
    R<Serializable> logout();

    /**
     * 获取登录用户信息
     *
     * @param mobile 手机号码
     * @return 登录用户
     */
    R<LoginUser> getLoginUser(String mobile);

    /**
     * 获取登录用户信息
     *
     * @return 登录用户
     */
    R<LoginUserVo> getLoginUserVo();

    /**
     * 获取用户权限列表
     *
     * @return 权限列表
     */
    List<Permission> getPermissions();

}
